C++关于重载运算符"<<"和">>"的错误

来源:百度知道 编辑:UC知道 时间:2024/05/13 10:53:14
我有个工程,在类中有istream和ostream的重载,在VC6中运行通过,可是放在visual studio 2008 中,编译错误:
(1) error LNK2019: 无法解析的外部符号 "class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl operator<<(class std::basic_ostream<char,struct std::char_traits<char> > &,class Set<int> const &)" (??6@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@std@@AAV01@ABV?$Set@H@@@Z),该符号在函数 _main 中被引用
1>2.obj : error LNK2019: 无法解析的外部符号 "class std::basic_istream<char,struct std::char_traits<char> > & __cdecl operator>>(class std::basic_istream<char,struct std::char_traits<char> > &,class Set<int> &)" (??5@YAAAV?$basic_istream@DU?$char_traits@D@std@@@std@@AAV01@AAV?$Set@H@@@Z),该符号在函数 _main 中被引用
(2) error LNK2019: 无法解析的外部符号 "class std::basic_istream<char,struct std::char_traits<char> > & __cdecl operator>>(class std::basic_istream<char,struct std::char_traits<char> > &,class Set<i

把程序拿出来嘛

VC6.0是很早以前使用的 VS就0几年使用的 较新一点.
至于在重载运算符 有什么更新没有 就不清楚了,但是可以说语法上的问题,看提示应该是 作用域或语句位置的关系的关系 而无法识别

会不会是vc2008的问题,估计你的vc2008是简化版本,有很多东东没有,
静态库问题参考http://zhidao.baidu.com/question/123024217.html
http://hi.baidu.com/liyy011/blog/item/e340b686097c1620c65cc388.html
如果不行,那就是程序问题了